Danny,
I was told that you simply need to make a call to a routine in one of the .dlls and that will 'unpack' the data. There's no need to 'reinvent the wheel'!
What became WT Library was initially just for internal use in Brooklyn, then the branches wanted it too, and so it spread. Originally the publication files were just copied over from the MEPS server to an internal file server for general use and a guy in the computer department wrote a front end with search and display functions.
The MEPS-formatted document files were compressed and did not contain any graphics because they had to be compact for sending to the branches via the WT's closed user group on Compuserve, and, of course, at that time the branches only had 56k (at best!) dialup internet access. (That's one of the reasons why WT Library doesn't have any illustrations or photos.)
So, when WT Library was prepared for distribution, it was a relatively straightforward job of tarting up the user interface and copying over the MEPS publication files. Extracting, of course, those that WT felt were too 'sensitive' for the rank and file, like the Pay Attention book and the Organization book, etc.
The irony is that some years ago Brooklyn decided MEPS was too expensive to maintain, abandoned the whole project and moved over to a commercial software package (I don't now remember which one). So this may have something to do with the change in data format that you mention you've noticed on more recent WT Library releases.
However, if you have Visual Studio, it should be fairly easy to discover which routines in which .dlls are being called when you run wtlib.exe. Then you can just call these same routines from your own program.